xref: /rk3399_ARM-atf/drivers/arm/sfcp/sfcp.mk (revision 2801427972c4b0d4c0165edb509f21186103f21f)
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