xref: /rk3399_ARM-atf/plat/arm/board/automotive_rd/platform/rdaspen/platform.mk (revision b0236d0a21ea33d71628052a3fb7c3c22f3f9c58)
1# Copyright (c) 2025, Arm Limited. All rights reserved.
2#
3# SPDX-License-Identifier: BSD-3-Clause
4#
5
6# RD-Aspen platform.
7
8RDASPEN_BASE		 =	plat/arm/board/automotive_rd/platform/rdaspen
9RDASPEN_CPU_SOURCES	:=	lib/cpus/aarch64/cortex_a720_ae.S
10
11PLAT_INCLUDES		+=	-I${RDASPEN_BASE}/include/
12
13override ARM_FW_CONFIG_LOAD_ENABLE		:=	1
14override ARM_PLAT_MT				:=	1
15override ARM_PLAT_PROVIDES_BL2_MEM_PARAMS	:=	1
16override ARM_RECOM_STATE_ID_ENC			:=	1
17override CSS_LOAD_SCP_IMAGES			:=	0
18override CTX_INCLUDE_AARCH32_REGS		:=	0
19override NEED_BL1				:=	0
20override NEED_BL2U				:=	0
21override PSCI_EXTENDED_STATE_ID			:=	1
22
23# SVE related flags
24override CTX_INCLUDE_FPREGS			:=	1
25override CTX_INCLUDE_SVE_REGS			:=	1
26override ENABLE_SVE_FOR_NS			:=	1
27override ENABLE_SVE_FOR_SWD			:=	1
28
29ARM_ARCH_MAJOR					:=	9
30ARM_ARCH_MINOR					:=	2
31CSS_USE_SCMI_SDS_DRIVER				:=	1
32# Enable runtime feature detection for emulation environments
33ENABLE_FEAT_AMU					:=	2
34ENABLE_FEAT_ECV					:=	2
35ENABLE_FEAT_FGT					:=	2
36ENABLE_FEAT_MTE2				:=	2
37ENABLE_MPAM_FOR_LOWER_ELS			:=	1
38GIC_ENABLE_V4_EXTN				:=	1
39GICV3_SUPPORT_GIC600				:=	1
40HW_ASSISTED_COHERENCY				:=	1
41NEED_BL32					?=	yes
42PLAT_MHU_VERSION				:=	3
43RESET_TO_BL2					:=	1
44SVE_VECTOR_LEN					:=	128
45USE_GIC_DRIVER					:=	3
46USE_COHERENT_MEM				:=	0
47
48# Enable the DSU driver and save DSU PMU registers on cluster off
49# and restore them on cluster on
50USE_DSU_DRIVER				:=	1
51PRESERVE_DSU_PMU_REGS			:=	1
52
53# ERRATA
54ERRATA_A720_AE_3699562			:=	1
55
56PLAT_BL_COMMON_SOURCES	+=	${RDASPEN_BASE}/rdaspen_plat.c	\
57				${RDASPEN_BASE}/include/rdaspen_helpers.S
58
59BL2_SOURCES	+=	${RDASPEN_CPU_SOURCES}	\
60			${RDASPEN_BASE}/rdaspen_err.c	\
61			${RDASPEN_BASE}/rdaspen_bl2_mem_params_desc.c	\
62			lib/utils/mem_region.c	\
63			drivers/arm/sbsa/sbsa.c	\
64			plat/arm/common/arm_nor_psci_mem_protect.c
65
66BL31_SOURCES	+=	${RDASPEN_CPU_SOURCES}	\
67			${RDASPEN_BASE}/rdaspen_bl31_setup.c	\
68			${RDASPEN_BASE}/rdaspen_topology.c	\
69			drivers/cfi/v2m/v2m_flash.c		\
70			lib/utils/mem_region.c	\
71			plat/arm/common/arm_nor_psci_mem_protect.c \
72			drivers/arm/dsu/dsu.c
73
74ifeq (${TRUSTED_BOARD_BOOT}, 1)
75BL2_SOURCES	+=	${RDASPEN_BASE}/rdaspen_trusted_board_boot.c
76FIP_BL2_ARGS	:=	tb-fw
77$(eval $(call TOOL_ADD_PAYLOAD,${BUILD_PLAT}/tb_fw.crt,--tb-fw-cert))
78endif
79
80# Add the FDT_SOURCES and options for Dynamic Config
81FDT_SOURCES	+=	${RDASPEN_BASE}/fdts/${PLAT}_fw_config.dts	\
82			fdts/${PLAT}.dts \
83			${RDASPEN_BASE}/fdts/${PLAT}_optee_spmc_manifest.dts
84
85FW_CONFIG	:=	${BUILD_PLAT}/fdts/${PLAT}_fw_config.dtb
86HW_CONFIG	:=	${BUILD_PLAT}/fdts/${PLAT}.dtb
87TOS_FW_CONFIG	:=	${BUILD_PLAT}/fdts/${PLAT}_optee_spmc_manifest.dtb
88
89# Add the FW_CONFIG to FIP and specify the same to certtool
90$(eval $(call TOOL_ADD_PAYLOAD,${FW_CONFIG},--fw-config,${FW_CONFIG}))
91# Add the HW_CONFIG to FIP and specify the same to certtool
92$(eval $(call TOOL_ADD_PAYLOAD,${HW_CONFIG},--hw-config,${HW_CONFIG}))
93
94# Add the TOS_FW_CONFIG to FIP and specify the same to certtool
95ifeq (${NEED_BL32},yes)
96$(eval $(call TOOL_ADD_PAYLOAD,${TOS_FW_CONFIG},--tos-fw-config,${TOS_FW_CONFIG}))
97endif
98
99# Using graceful flag to send SCMI system power set command
100# the css_scp_system_off() use forceful flag by default
101$(eval $(call add_define_val,CSS_SCP_SYSTEM_OFF_GRACEFUL,1))
102
103ifdef PLATFORM_CORE_COUNT
104# Pass PLATFORM_CORE_COUNT to the build system.
105$(eval $(call add_define,PLATFORM_CORE_COUNT))
106endif
107
108include plat/arm/common/arm_common.mk
109include plat/arm/css/common/css_common.mk
110include plat/arm/board/common/board_common.mk
111
112# Exclude arm common board_arm_helpers.S to override the default
113# plat_report_exception, to get rid of legacy V2M registers
114PLAT_BL_COMMON_SOURCES	:= $(filter-out						\
115			     plat/arm/board/common/${ARCH}/board_arm_helpers.S, \
116			     $(PLAT_BL_COMMON_SOURCES))
117
118# Include Measured Boot makefile and source
119ifeq (${MEASURED_BOOT},1)
120	MEASURED_BOOT_MK	:= drivers/measured_boot/rse/rse_measured_boot.mk
121	include ${MEASURED_BOOT_MK}
122	PLAT_MHU		:= MHUv3
123	RSE_COMMS_BOOT_MK	:= drivers/arm/rse/rse_comms.mk
124	include ${RSE_COMMS_BOOT_MK}
125	MEASURED_BOOT_SOURCES	+= lib/psa/measured_boot.c
126	MEASURED_BOOT_SOURCES	+= ${RSE_COMMS_SOURCES}
127	BL2_SOURCES		+= ${MEASURED_BOOT_SOURCES}
128	PLAT_BL_COMMON_SOURCES	+= ${RDASPEN_BASE}/rdaspen_measured_boot.c
129endif
130