xref: /rk3399_ARM-atf/plat/arm/board/tc/platform.mk (revision 6ec0c65b09745fd0f4cee44ee3aa99870303f448)
1*6ec0c65bSUsama Arif# Copyright (c) 2021, Arm Limited. All rights reserved.
2*6ec0c65bSUsama Arif#
3*6ec0c65bSUsama Arif# SPDX-License-Identifier: BSD-3-Clause
4*6ec0c65bSUsama Arif#
5*6ec0c65bSUsama Arif
6*6ec0c65bSUsama Arififeq ($(filter ${TARGET_PLATFORM}, 0 1),)
7*6ec0c65bSUsama Arif        $(error TARGET_PLATFORM must be 0 or 1)
8*6ec0c65bSUsama Arifendif
9*6ec0c65bSUsama Arif
10*6ec0c65bSUsama ArifCSS_LOAD_SCP_IMAGES	:=	1
11*6ec0c65bSUsama Arif
12*6ec0c65bSUsama ArifCSS_USE_SCMI_SDS_DRIVER	:=	1
13*6ec0c65bSUsama Arif
14*6ec0c65bSUsama ArifRAS_EXTENSION		:=	0
15*6ec0c65bSUsama Arif
16*6ec0c65bSUsama ArifSDEI_SUPPORT		:=	0
17*6ec0c65bSUsama Arif
18*6ec0c65bSUsama ArifEL3_EXCEPTION_HANDLING	:=	0
19*6ec0c65bSUsama Arif
20*6ec0c65bSUsama ArifHANDLE_EA_EL3_FIRST	:=	0
21*6ec0c65bSUsama Arif
22*6ec0c65bSUsama Arif# System coherency is managed in hardware
23*6ec0c65bSUsama ArifHW_ASSISTED_COHERENCY	:=	1
24*6ec0c65bSUsama Arif
25*6ec0c65bSUsama Arif# When building for systems with hardware-assisted coherency, there's no need to
26*6ec0c65bSUsama Arif# use USE_COHERENT_MEM. Require that USE_COHERENT_MEM must be set to 0 too.
27*6ec0c65bSUsama ArifUSE_COHERENT_MEM	:=	0
28*6ec0c65bSUsama Arif
29*6ec0c65bSUsama ArifGIC_ENABLE_V4_EXTN	:=      1
30*6ec0c65bSUsama Arif
31*6ec0c65bSUsama Arif# GIC-600 configuration
32*6ec0c65bSUsama ArifGICV3_SUPPORT_GIC600	:=	1
33*6ec0c65bSUsama Arif
34*6ec0c65bSUsama Arif
35*6ec0c65bSUsama Arif# Include GICv3 driver files
36*6ec0c65bSUsama Arifinclude drivers/arm/gic/v3/gicv3.mk
37*6ec0c65bSUsama Arif
38*6ec0c65bSUsama ArifENT_GIC_SOURCES		:=	${GICV3_SOURCES}		\
39*6ec0c65bSUsama Arif				plat/common/plat_gicv3.c	\
40*6ec0c65bSUsama Arif				plat/arm/common/arm_gicv3.c
41*6ec0c65bSUsama Arif
42*6ec0c65bSUsama Arifoverride NEED_BL2U	:=	no
43*6ec0c65bSUsama Arif
44*6ec0c65bSUsama Arifoverride ARM_PLAT_MT	:=	1
45*6ec0c65bSUsama Arif
46*6ec0c65bSUsama ArifTC_BASE	=	plat/arm/board/tc
47*6ec0c65bSUsama Arif
48*6ec0c65bSUsama ArifPLAT_INCLUDES		+=	-I${TC_BASE}/include/
49*6ec0c65bSUsama Arif
50*6ec0c65bSUsama Arif# Common CPU libraries
51*6ec0c65bSUsama ArifTC_CPU_SOURCES	:=	lib/cpus/aarch64/cortex_a510.S
52*6ec0c65bSUsama Arif
53*6ec0c65bSUsama Arif# CPU libraries for TARGET_PLATFORM=0
54*6ec0c65bSUsama Arififeq (${TARGET_PLATFORM}, 0)
55*6ec0c65bSUsama ArifTC_CPU_SOURCES	+=	lib/cpus/aarch64/cortex_a710.S \
56*6ec0c65bSUsama Arif			lib/cpus/aarch64/cortex_x2.S
57*6ec0c65bSUsama Arifendif
58*6ec0c65bSUsama Arif
59*6ec0c65bSUsama Arif# CPU libraries for TARGET_PLATFORM=1
60*6ec0c65bSUsama Arififeq (${TARGET_PLATFORM}, 1)
61*6ec0c65bSUsama ArifTC_CPU_SOURCES	+=	lib/cpus/aarch64/cortex_makalu.S \
62*6ec0c65bSUsama Arif			lib/cpus/aarch64/cortex_makalu_elp_arm.S
63*6ec0c65bSUsama Arifendif
64*6ec0c65bSUsama Arif
65*6ec0c65bSUsama ArifINTERCONNECT_SOURCES	:=	${TC_BASE}/tc_interconnect.c
66*6ec0c65bSUsama Arif
67*6ec0c65bSUsama ArifPLAT_BL_COMMON_SOURCES	+=	${TC_BASE}/tc_plat.c	\
68*6ec0c65bSUsama Arif				${TC_BASE}/include/tc_helpers.S
69*6ec0c65bSUsama Arif
70*6ec0c65bSUsama ArifBL1_SOURCES		+=	${INTERCONNECT_SOURCES}	\
71*6ec0c65bSUsama Arif				${TC_CPU_SOURCES}	\
72*6ec0c65bSUsama Arif				${TC_BASE}/tc_trusted_boot.c	\
73*6ec0c65bSUsama Arif				${TC_BASE}/tc_err.c	\
74*6ec0c65bSUsama Arif				drivers/arm/sbsa/sbsa.c
75*6ec0c65bSUsama Arif
76*6ec0c65bSUsama Arif
77*6ec0c65bSUsama ArifBL2_SOURCES		+=	${TC_BASE}/tc_security.c	\
78*6ec0c65bSUsama Arif				${TC_BASE}/tc_err.c		\
79*6ec0c65bSUsama Arif				${TC_BASE}/tc_trusted_boot.c		\
80*6ec0c65bSUsama Arif				lib/utils/mem_region.c			\
81*6ec0c65bSUsama Arif				drivers/arm/tzc/tzc400.c		\
82*6ec0c65bSUsama Arif				plat/arm/common/arm_tzc400.c		\
83*6ec0c65bSUsama Arif				plat/arm/common/arm_nor_psci_mem_protect.c
84*6ec0c65bSUsama Arif
85*6ec0c65bSUsama ArifBL31_SOURCES		+=	${INTERCONNECT_SOURCES}	\
86*6ec0c65bSUsama Arif				${TC_CPU_SOURCES}	\
87*6ec0c65bSUsama Arif				${ENT_GIC_SOURCES}			\
88*6ec0c65bSUsama Arif				${TC_BASE}/tc_bl31_setup.c	\
89*6ec0c65bSUsama Arif				${TC_BASE}/tc_topology.c	\
90*6ec0c65bSUsama Arif				drivers/cfi/v2m/v2m_flash.c		\
91*6ec0c65bSUsama Arif				lib/utils/mem_region.c			\
92*6ec0c65bSUsama Arif				plat/arm/common/arm_nor_psci_mem_protect.c
93*6ec0c65bSUsama Arif
94*6ec0c65bSUsama Arif# Add the FDT_SOURCES and options for Dynamic Config
95*6ec0c65bSUsama ArifFDT_SOURCES		+=	${TC_BASE}/fdts/${PLAT}_fw_config.dts	\
96*6ec0c65bSUsama Arif				${TC_BASE}/fdts/${PLAT}_tb_fw_config.dts
97*6ec0c65bSUsama ArifFW_CONFIG		:=	${BUILD_PLAT}/fdts/${PLAT}_fw_config.dtb
98*6ec0c65bSUsama ArifTB_FW_CONFIG		:=	${BUILD_PLAT}/fdts/${PLAT}_tb_fw_config.dtb
99*6ec0c65bSUsama Arif
100*6ec0c65bSUsama Arif# Add the FW_CONFIG to FIP and specify the same to certtool
101*6ec0c65bSUsama Arif$(eval $(call TOOL_ADD_PAYLOAD,${FW_CONFIG},--fw-config,${FW_CONFIG}))
102*6ec0c65bSUsama Arif# Add the TB_FW_CONFIG to FIP and specify the same to certtool
103*6ec0c65bSUsama Arif$(eval $(call TOOL_ADD_PAYLOAD,${TB_FW_CONFIG},--tb-fw-config,${TB_FW_CONFIG}))
104*6ec0c65bSUsama Arif
105*6ec0c65bSUsama Arififeq (${SPD},spmd)
106*6ec0c65bSUsama Arififeq ($(ARM_SPMC_MANIFEST_DTS),)
107*6ec0c65bSUsama ArifARM_SPMC_MANIFEST_DTS	:=	${TC_BASE}/fdts/${PLAT}_spmc_manifest.dts
108*6ec0c65bSUsama Arifendif
109*6ec0c65bSUsama Arif
110*6ec0c65bSUsama ArifFDT_SOURCES		+=	${ARM_SPMC_MANIFEST_DTS}
111*6ec0c65bSUsama ArifTC_TOS_FW_CONFIG	:=	${BUILD_PLAT}/fdts/$(notdir $(basename ${ARM_SPMC_MANIFEST_DTS})).dtb
112*6ec0c65bSUsama Arif
113*6ec0c65bSUsama Arif# Add the TOS_FW_CONFIG to FIP and specify the same to certtool
114*6ec0c65bSUsama Arif$(eval $(call TOOL_ADD_PAYLOAD,${TC_TOS_FW_CONFIG},--tos-fw-config,${TC_TOS_FW_CONFIG}))
115*6ec0c65bSUsama Arifendif
116*6ec0c65bSUsama Arif
117*6ec0c65bSUsama Arif#Device tree
118*6ec0c65bSUsama ArifTC_HW_CONFIG_DTS	:=	fdts/tc.dts
119*6ec0c65bSUsama ArifTC_HW_CONFIG		:=	${BUILD_PLAT}/fdts/${PLAT}.dtb
120*6ec0c65bSUsama ArifFDT_SOURCES		+=	${TC_HW_CONFIG_DTS}
121*6ec0c65bSUsama Arif$(eval TC_HW_CONFIG	:=	${BUILD_PLAT}/$(patsubst %.dts,%.dtb,$(TC_HW_CONFIG_DTS)))
122*6ec0c65bSUsama Arif
123*6ec0c65bSUsama Arif# Add the HW_CONFIG to FIP and specify the same to certtool
124*6ec0c65bSUsama Arif$(eval $(call TOOL_ADD_PAYLOAD,${TC_HW_CONFIG},--hw-config,${TC_HW_CONFIG}))
125*6ec0c65bSUsama Arif
126*6ec0c65bSUsama Arifoverride CTX_INCLUDE_AARCH32_REGS	:= 0
127*6ec0c65bSUsama Arif
128*6ec0c65bSUsama Arifoverride CTX_INCLUDE_PAUTH_REGS	:= 1
129*6ec0c65bSUsama Arif
130*6ec0c65bSUsama Arifoverride ENABLE_SPE_FOR_LOWER_ELS	:= 0
131*6ec0c65bSUsama Arif
132*6ec0c65bSUsama Arifoverride ENABLE_AMU := 1
133*6ec0c65bSUsama Arif
134*6ec0c65bSUsama Arifinclude plat/arm/common/arm_common.mk
135*6ec0c65bSUsama Arifinclude plat/arm/css/common/css_common.mk
136*6ec0c65bSUsama Arifinclude plat/arm/soc/common/soc_css.mk
137*6ec0c65bSUsama Arifinclude plat/arm/board/common/board_common.mk
138