1*479e2648SJackson Cooper-Driver# 2*479e2648SJackson Cooper-Driver# Copyright (c) 2026, Arm Limited and Contributors. All rights reserved. 3*479e2648SJackson Cooper-Driver# 4*479e2648SJackson Cooper-Driver# SPDX-License-Identifier: BSD-3-Clause 5*479e2648SJackson Cooper-Driver# 6*479e2648SJackson Cooper-Driver 7*479e2648SJackson Cooper-Driver$(warning "SFCP is an experimental feature") 8*479e2648SJackson Cooper-Driver 9*479e2648SJackson Cooper-DriverSFCP_SOURCES := $(addprefix drivers/arm/sfcp/sfcp_core/, \ 10*479e2648SJackson Cooper-Driver sfcp_helpers.c \ 11*479e2648SJackson Cooper-Driver sfcp.c \ 12*479e2648SJackson Cooper-Driver sfcp_link_hal.c \ 13*479e2648SJackson Cooper-Driver sfcp_random.c \ 14*479e2648SJackson Cooper-Driver sfcp_encryption_stub.c \ 15*479e2648SJackson Cooper-Driver ) 16*479e2648SJackson Cooper-Driver 17*479e2648SJackson Cooper-DriverSFCP_SOURCES += $(addprefix drivers/arm/sfcp/sfcp_psa/, \ 18*479e2648SJackson Cooper-Driver sfcp_psa_call/sfcp_psa_call.c \ 19*479e2648SJackson Cooper-Driver sfcp_psa_protocol/sfcp_psa_protocol.c \ 20*479e2648SJackson Cooper-Driver sfcp_psa_protocol/sfcp_psa_protocol_pointer_access.c \ 21*479e2648SJackson Cooper-Driver sfcp_psa_protocol/sfcp_psa_protocol_embed.c \ 22*479e2648SJackson Cooper-Driver ) 23*479e2648SJackson Cooper-Driver 24*479e2648SJackson Cooper-Driver# Default to MHUv2 if PLAT_MHU undefined 25*479e2648SJackson Cooper-DriverPLAT_MHU ?= MHUv2 26*479e2648SJackson Cooper-Driver 27*479e2648SJackson Cooper-Driverifneq (${PLAT_MHU}, NO_MHU) 28*479e2648SJackson Cooper-Driverifeq (${PLAT_MHU}, MHUv3) 29*479e2648SJackson Cooper-DriverSFCP_SOURCES += $(addprefix drivers/arm/mhu/, \ 30*479e2648SJackson Cooper-Driver mhu_v3_x.c \ 31*479e2648SJackson Cooper-Driver ) 32*479e2648SJackson Cooper-Driver 33*479e2648SJackson Cooper-Driver$(eval $(call add_defines, \ 34*479e2648SJackson Cooper-Driver PLAT_MHU_VERSION=3 \ 35*479e2648SJackson Cooper-Driver)) 36*479e2648SJackson Cooper-Driver 37*479e2648SJackson Cooper-Driverelse ifeq (${PLAT_MHU}, MHUv2) 38*479e2648SJackson Cooper-DriverSFCP_SOURCES += $(addprefix drivers/arm/mhu/, \ 39*479e2648SJackson Cooper-Driver mhu_v2_x.c \ 40*479e2648SJackson Cooper-Driver ) 41*479e2648SJackson Cooper-Driver 42*479e2648SJackson Cooper-Driver$(eval $(call add_defines, \ 43*479e2648SJackson Cooper-Driver PLAT_MHU_VERSION=2 \ 44*479e2648SJackson Cooper-Driver)) 45*479e2648SJackson Cooper-Driver 46*479e2648SJackson Cooper-Driverelse 47*479e2648SJackson Cooper-Driver$(error Unsupported MHU version) 48*479e2648SJackson Cooper-Driverendif 49*479e2648SJackson Cooper-Driver 50*479e2648SJackson Cooper-DriverPLAT_INCLUDES += -Idrivers/arm/mhu 51*479e2648SJackson Cooper-Driverendif 52*479e2648SJackson Cooper-Driver 53*479e2648SJackson Cooper-DriverPLAT_INCLUDES += -Iinclude/lib/psa \ 54*479e2648SJackson Cooper-Driver -Idrivers/arm/sfcp/sfcp_core \ 55*479e2648SJackson Cooper-Driver -Idrivers/arm/sfcp/sfcp_psa/sfcp_psa_protocol 56*479e2648SJackson Cooper-Driver 57*479e2648SJackson Cooper-Driver$(eval $(call add_defines, \ 58*479e2648SJackson Cooper-Driver SFCP_PROTOCOL_EMBED_ENABLED \ 59*479e2648SJackson Cooper-Driver SFCP_PROTOCOL_POINTER_ACCESS_ENABLED \ 60*479e2648SJackson Cooper-Driver)) 61