blob: 4a31b597d0eee725afa3210ed9a35b50c25d8441 [file] [log] [blame]
Rajasekaran Kalidoss85999a82023-05-08 14:55:13 +02001#
2# Copyright (c) 2023, Arm Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7# Arm(R) Ethos(TM)-N NPU SiP service
8ETHOSN_NPU_DRIVER := 0
9
10$(eval $(call assert_boolean,ETHOSN_NPU_DRIVER))
11$(eval $(call add_define,ETHOSN_NPU_DRIVER))
12
13#Ethos-N NPU TZMP1
14ETHOSN_NPU_TZMP1 := 0
15$(eval $(call assert_boolean,ETHOSN_NPU_TZMP1))
16$(eval $(call add_define,ETHOSN_NPU_TZMP1))
17ifeq (${ETHOSN_NPU_TZMP1},1)
18 ifeq (${ETHOSN_NPU_DRIVER},0)
19 $(error "ETHOSN_NPU_TZMP1 is only available if ETHOSN_NPU_DRIVER=1)
20 endif
21 ifeq (${PLAT},juno)
22 $(eval $(call add_define,JUNO_ETHOSN_TZMP1))
23 else
24 $(error "ETHOSN_NPU_TZMP1 only supported on Juno platform, not ", ${PLAT})
25 endif
26
27 ifeq (${TRUSTED_BOARD_BOOT},0)
28 # We rely on TRUSTED_BOARD_BOOT to prevent the firmware code from being
29 # tampered with, which is required to protect the confidentiality of protected
30 # inference data.
31 $(error "ETHOSN_NPU_TZMP1 is only available if TRUSTED_BOARD_BOOT is enabled)
32 endif
33
34 # We need the FW certificate and key certificate
35 $(eval $(call TOOL_ADD_PAYLOAD,${BUILD_PLAT}/npu_fw_key.crt,--npu-fw-key-cert))
36 $(eval $(call TOOL_ADD_PAYLOAD,${BUILD_PLAT}/npu_fw_content.crt,--npu-fw-cert))
37 # We need the firmware to be built into the FIP
38 $(eval $(call TOOL_ADD_IMG,ETHOSN_NPU_FW,--npu-fw))
39
40 # Needed for our OIDs to be available in tbbr_cot_bl2.c
41 $(eval $(call add_define, PLAT_DEF_OID))
42
43 # Needed so that UUIDs from the FIP are available in BL2
44 $(eval $(call add_define,PLAT_DEF_FIP_UUID))
45
46 PLAT_INCLUDES += -I${PLAT_DIR}certificate/include
47 PLAT_INCLUDES += -Iinclude/drivers/arm/
48 PLAT_INCLUDES += -I${PLAT_DIR}fip
49endif