xref: /rk3399_ARM-atf/plat/amd/versal2/platform.mk (revision c97857dba2588ce44dd1d9907797f9f4e952fea7)
1*c97857dbSAmit Nagal# Copyright (c) 2018-2022, Arm Limited and Contributors. All rights reserved.
2*c97857dbSAmit Nagal# Copyright (c) 2021-2022, Xilinx, Inc. All rights reserved.
3*c97857dbSAmit Nagal# Copyright (c) 2022-2024, Advanced Micro Devices, Inc. All rights reserved.
4*c97857dbSAmit Nagal#
5*c97857dbSAmit Nagal# SPDX-License-Identifier: BSD-3-Clause
6*c97857dbSAmit Nagal
7*c97857dbSAmit NagalPLAT_PATH := plat/amd/versal2
8*c97857dbSAmit Nagal
9*c97857dbSAmit Nagal# A78 Erratum for SoC
10*c97857dbSAmit NagalERRATA_A78_AE_1941500 := 1
11*c97857dbSAmit NagalERRATA_A78_AE_1951502 := 1
12*c97857dbSAmit NagalERRATA_A78_AE_2376748 := 1
13*c97857dbSAmit NagalERRATA_A78_AE_2395408 := 1
14*c97857dbSAmit NagalERRATA_ABI_SUPPORT    := 1
15*c97857dbSAmit Nagal
16*c97857dbSAmit Nagal# Platform Supports Armv8.2 extensions
17*c97857dbSAmit NagalARM_ARCH_MAJOR := 8
18*c97857dbSAmit NagalARM_ARCH_MINOR := 2
19*c97857dbSAmit Nagal
20*c97857dbSAmit Nagaloverride PROGRAMMABLE_RESET_ADDRESS := 1
21*c97857dbSAmit NagalPSCI_EXTENDED_STATE_ID := 1
22*c97857dbSAmit NagalSEPARATE_CODE_AND_RODATA := 1
23*c97857dbSAmit Nagaloverride RESET_TO_BL31 := 1
24*c97857dbSAmit NagalPL011_GENERIC_UART := 1
25*c97857dbSAmit NagalIPI_CRC_CHECK := 0
26*c97857dbSAmit NagalGIC_ENABLE_V4_EXTN :=  0
27*c97857dbSAmit NagalGICV3_SUPPORT_GIC600 := 1
28*c97857dbSAmit Nagal
29*c97857dbSAmit Nagaloverride CTX_INCLUDE_AARCH32_REGS    := 0
30*c97857dbSAmit Nagal
31*c97857dbSAmit Nagalifdef MEM_BASE
32*c97857dbSAmit Nagal    $(eval $(call add_define,MEM_BASE))
33*c97857dbSAmit Nagal
34*c97857dbSAmit Nagal    ifndef MEM_SIZE
35*c97857dbSAmit Nagal        $(error "ATF_BASE defined without ATF_SIZE")
36*c97857dbSAmit Nagal    endif
37*c97857dbSAmit Nagal    $(eval $(call add_define,MEM_SIZE))
38*c97857dbSAmit Nagal
39*c97857dbSAmit Nagal    ifdef MEM_PROGBITS_SIZE
40*c97857dbSAmit Nagal        $(eval $(call add_define,MEM_PROGBITS_SIZE))
41*c97857dbSAmit Nagal    endif
42*c97857dbSAmit Nagalendif
43*c97857dbSAmit Nagal
44*c97857dbSAmit Nagalifdef BL32_MEM_BASE
45*c97857dbSAmit Nagal    $(eval $(call add_define,BL32_MEM_BASE))
46*c97857dbSAmit Nagal
47*c97857dbSAmit Nagal    ifndef BL32_MEM_SIZE
48*c97857dbSAmit Nagal        $(error "BL32_BASE defined without BL32_SIZE")
49*c97857dbSAmit Nagal    endif
50*c97857dbSAmit Nagal    $(eval $(call add_define,BL32_MEM_SIZE))
51*c97857dbSAmit Nagalendif
52*c97857dbSAmit Nagal
53*c97857dbSAmit Nagalifdef IPI_CRC_CHECK
54*c97857dbSAmit Nagal    $(eval $(call add_define,IPI_CRC_CHECK))
55*c97857dbSAmit Nagalendif
56*c97857dbSAmit Nagal
57*c97857dbSAmit NagalUSE_COHERENT_MEM := 0
58*c97857dbSAmit NagalHW_ASSISTED_COHERENCY := 1
59*c97857dbSAmit Nagal
60*c97857dbSAmit NagalCONSOLE	?=	pl011
61*c97857dbSAmit Nagalifeq (${CONSOLE}, $(filter ${CONSOLE},pl011 pl011_0 pl011_1 dcc))
62*c97857dbSAmit Nagalelse
63*c97857dbSAmit Nagal  $(error Please define CONSOLE)
64*c97857dbSAmit Nagalendif
65*c97857dbSAmit Nagal
66*c97857dbSAmit Nagal$(eval $(call add_define_val,CONSOLE,CONSOLE_ID_${CONSOLE}))
67*c97857dbSAmit Nagal
68*c97857dbSAmit Nagalifdef XILINX_OF_BOARD_DTB_ADDR
69*c97857dbSAmit Nagal$(eval $(call add_define,XILINX_OF_BOARD_DTB_ADDR))
70*c97857dbSAmit Nagalendif
71*c97857dbSAmit Nagal
72*c97857dbSAmit NagalPLAT_INCLUDES		:=	-Iinclude/plat/arm/common/			\
73*c97857dbSAmit Nagal				-Iplat/xilinx/common/include/			\
74*c97857dbSAmit Nagal				-Iplat/xilinx/common/ipi_mailbox_service/	\
75*c97857dbSAmit Nagal				-I${PLAT_PATH}/include/				\
76*c97857dbSAmit Nagal				-Iplat/xilinx/versal/pm_service/
77*c97857dbSAmit Nagal
78*c97857dbSAmit Nagal# Include GICv3 driver files
79*c97857dbSAmit Nagalinclude drivers/arm/gic/v3/gicv3.mk
80*c97857dbSAmit Nagalinclude lib/xlat_tables_v2/xlat_tables.mk
81*c97857dbSAmit Nagalinclude lib/libfdt/libfdt.mk
82*c97857dbSAmit Nagal
83*c97857dbSAmit NagalPLAT_BL_COMMON_SOURCES	:=	\
84*c97857dbSAmit Nagal				drivers/arm/dcc/dcc_console.c			\
85*c97857dbSAmit Nagal				drivers/delay_timer/delay_timer.c		\
86*c97857dbSAmit Nagal				drivers/delay_timer/generic_delay_timer.c	\
87*c97857dbSAmit Nagal				${GICV3_SOURCES}				\
88*c97857dbSAmit Nagal				drivers/arm/pl011/aarch64/pl011_console.S	\
89*c97857dbSAmit Nagal				plat/common/aarch64/crash_console_helpers.S	\
90*c97857dbSAmit Nagal				plat/arm/common/arm_common.c			\
91*c97857dbSAmit Nagal				plat/common/plat_gicv3.c			\
92*c97857dbSAmit Nagal				${PLAT_PATH}/aarch64/helpers.S			\
93*c97857dbSAmit Nagal				${PLAT_PATH}/aarch64/common.c			\
94*c97857dbSAmit Nagal				${PLAT_PATH}/plat_topology.c                    \
95*c97857dbSAmit Nagal				${XLAT_TABLES_LIB_SRCS}
96*c97857dbSAmit Nagal
97*c97857dbSAmit NagalBL31_SOURCES		+=	drivers/arm/cci/cci.c				\
98*c97857dbSAmit Nagal				lib/cpus/aarch64/cortex_a78_ae.S		\
99*c97857dbSAmit Nagal				lib/cpus/aarch64/cortex_a78.S			\
100*c97857dbSAmit Nagal				plat/common/plat_psci_common.c			\
101*c97857dbSAmit Nagal				drivers/scmi-msg/base.c				\
102*c97857dbSAmit Nagal				drivers/scmi-msg/entry.c			\
103*c97857dbSAmit Nagal				drivers/scmi-msg/smt.c				\
104*c97857dbSAmit Nagal				drivers/scmi-msg/clock.c			\
105*c97857dbSAmit Nagal				drivers/scmi-msg/power_domain.c			\
106*c97857dbSAmit Nagal				drivers/scmi-msg/reset_domain.c			\
107*c97857dbSAmit Nagal				${PLAT_PATH}/scmi.c
108*c97857dbSAmit Nagal
109*c97857dbSAmit NagalBL31_SOURCES		+=	${PLAT_PATH}/plat_psci.c
110*c97857dbSAmit Nagal
111*c97857dbSAmit NagalBL31_SOURCES		+=	plat/xilinx/common/plat_fdt.c			\
112*c97857dbSAmit Nagal				plat/xilinx/common/plat_startup.c		\
113*c97857dbSAmit Nagal				plat/xilinx/common/ipi.c			\
114*c97857dbSAmit Nagal				plat/xilinx/common/ipi_mailbox_service/ipi_mailbox_svc.c	\
115*c97857dbSAmit Nagal				${PLAT_PATH}/soc_ipi.c				\
116*c97857dbSAmit Nagal				plat/xilinx/common/versal.c			\
117*c97857dbSAmit Nagal				${PLAT_PATH}/bl31_setup.c			\
118*c97857dbSAmit Nagal				common/fdt_fixup.c				\
119*c97857dbSAmit Nagal				${LIBFDT_SRCS}					\
120*c97857dbSAmit Nagal				${PLAT_PATH}/sip_svc_setup.c			\
121*c97857dbSAmit Nagal				${PLAT_PATH}/gicv3.c
122*c97857dbSAmit Nagal
123*c97857dbSAmit Nagalifeq (${ERRATA_ABI_SUPPORT}, 1)
124*c97857dbSAmit Nagal# enable the cpu macros for errata abi interface
125*c97857dbSAmit NagalCORTEX_A78_AE_H_INC     := 1
126*c97857dbSAmit Nagal$(eval $(call add_define, CORTEX_A78_AE_H_INC))
127*c97857dbSAmit Nagalendif
128