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