mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-18 02:24:18 +00:00
feat(ethos-n): add NPU support in fiptool
Add platform specific Makefile to add UUIDs and command options for the Arm(R) Ethos(TM)-N NPU firmware binary and certificate data to the FIP so that the TF-A's BL2 can later be used to load the Arm(R) Ethos(TM)-N NPU firmware binary into memory and verify its integrity. Add separate driver specific include header file for the Arm(R) Ethos(TM)-N NPU images containing UUIDs and command options to make it easy to port the FIP support to other platforms. Signed-off-by: Daniele Castro <daniele.castro@arm.com> Signed-off-by: Rob Hughes <robert.hughes@arm.com> Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I8cd64fb20d58f8bd539facb085606213d6cead05
This commit is contained in:
parent
70a296ee86
commit
c91b08c8a4
4 changed files with 92 additions and 0 deletions
37
include/drivers/arm/ethosn_fip.h
Normal file
37
include/drivers/arm/ethosn_fip.h
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* Copyright (c) 2023, Arm Limited. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
#ifndef ETHOSN_FIP_H
|
||||
#define ETHOSN_FIP_H
|
||||
|
||||
#define UUID_ETHOSN_FW_KEY_CERTIFICATE \
|
||||
{ { 0x56, 0x66, 0xd0, 0x04 }, { 0xab, 0x98 }, { 0x40, 0xaa }, \
|
||||
0x89, 0x88, { 0xb7, 0x2a, 0x3, 0xa2, 0x56, 0xe2 } }
|
||||
|
||||
#define UUID_ETHOSN_FW_CONTENT_CERTIFICATE \
|
||||
{ { 0xa5, 0xc4, 0x18, 0xda }, { 0x43, 0x0f }, { 0x48, 0xb1 }, \
|
||||
0x88, 0xcd, { 0x93, 0xf6, 0x78, 0x89, 0xd9, 0xed } }
|
||||
|
||||
#define UUID_ETHOSN_FW \
|
||||
{ { 0xcf, 0xd4, 0x99, 0xb5 }, { 0xa3, 0xbc }, { 0x4a, 0x7e }, \
|
||||
0x98, 0xcb, { 0x48, 0xa4, 0x1c, 0xb8, 0xda, 0xe1 } }
|
||||
|
||||
#define ETHOSN_FW_KEY_CERTIFICATE_DEF \
|
||||
{ "Arm(R) Ethos(TM)-N NPU Firmware Key Certificate", \
|
||||
UUID_ETHOSN_FW_KEY_CERTIFICATE, \
|
||||
"npu-fw-key-cert" }
|
||||
|
||||
#define ETHOSN_FW_CONTENT_CERTIFICATE_DEF \
|
||||
{ "Arm(R) Ethos(TM)-N NPU Firmware Content Certificate",\
|
||||
UUID_ETHOSN_FW_CONTENT_CERTIFICATE, \
|
||||
"npu-fw-cert" }
|
||||
|
||||
#define ETHOSN_FW_DEF \
|
||||
{ "Arm(R) Ethos(TM)-N NPU Firmware", \
|
||||
UUID_ETHOSN_FW, \
|
||||
"npu-fw" }
|
||||
|
||||
#endif /* ETHOSN_FIP_H */
|
14
plat/arm/board/juno/fip/plat_def_fip_uuid.h
Normal file
14
plat/arm/board/juno/fip/plat_def_fip_uuid.h
Normal file
|
@ -0,0 +1,14 @@
|
|||
/*
|
||||
* Copyright (c) 2023, Arm Limited. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
#ifndef PLAT_DEF_FIP_UUID_H
|
||||
#define PLAT_DEF_FIP_UUID_H
|
||||
|
||||
#ifdef ARM_ETHOSN_NPU_TZMP1
|
||||
#include <drivers/arm/ethosn_fip.h>
|
||||
#endif
|
||||
|
||||
#endif /* PLAT_DEF_FIP_UUID_H */
|
25
plat/arm/board/juno/fip/plat_def_uuid_config.c
Normal file
25
plat/arm/board/juno/fip/plat_def_uuid_config.c
Normal file
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* Copyright (c) 2023, Arm Limited. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#include <firmware_image_package.h>
|
||||
#include <tbbr_config.h>
|
||||
|
||||
#include "plat_def_fip_uuid.h"
|
||||
|
||||
toc_entry_t plat_def_toc_entries[] = {
|
||||
#ifdef ARM_ETHOSN_NPU_TZMP1
|
||||
ETHOSN_FW_KEY_CERTIFICATE_DEF,
|
||||
ETHOSN_FW_CONTENT_CERTIFICATE_DEF,
|
||||
ETHOSN_FW_DEF,
|
||||
#endif
|
||||
{
|
||||
.name = NULL,
|
||||
.uuid = { { 0 } },
|
||||
.cmdline_name = NULL,
|
||||
}
|
||||
};
|
16
plat/arm/board/juno/plat_fiptool.mk
Normal file
16
plat/arm/board/juno/plat_fiptool.mk
Normal file
|
@ -0,0 +1,16 @@
|
|||
#
|
||||
# Copyright (c) 2023, Arm Limited. All rights reserved.
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
#
|
||||
|
||||
PLAT_DEF_UUID := yes
|
||||
|
||||
ifeq (${PLAT_DEF_UUID}, yes)
|
||||
HOSTCCFLAGS += -DPLAT_DEF_FIP_UUID
|
||||
ifeq (${ARM_ETHOSN_NPU_TZMP1},1)
|
||||
HOSTCCFLAGS += -DARM_ETHOSN_NPU_TZMP1
|
||||
endif
|
||||
INCLUDE_PATHS += -I./ -I${PLAT_DIR}fip -I../../include/
|
||||
OBJECTS += ${PLAT_DIR}fip/plat_def_uuid_config.o
|
||||
endif
|
Loading…
Add table
Reference in a new issue