1*f3096072SMohamed Elzahhar /* 2*f3096072SMohamed Elzahhar * Copyright (c) 2023, Arm Limited. All rights reserved. 3*f3096072SMohamed Elzahhar * 4*f3096072SMohamed Elzahhar * SPDX-License-Identifier: BSD-3-Clause 5*f3096072SMohamed Elzahhar */ 6*f3096072SMohamed Elzahhar 7*f3096072SMohamed Elzahhar #ifndef ETHOSN_CERT_H 8*f3096072SMohamed Elzahhar #define ETHOSN_CERT_H 9*f3096072SMohamed Elzahhar 10*f3096072SMohamed Elzahhar #include "ethosn_oid.h" 11*f3096072SMohamed Elzahhar #include <tbbr/tbb_ext.h> 12*f3096072SMohamed Elzahhar #include <tbbr/tbb_key.h> 13*f3096072SMohamed Elzahhar 14*f3096072SMohamed Elzahhar /* Arm(R) Ethos(TM)-N NPU Certificates */ 15*f3096072SMohamed Elzahhar #define ETHOSN_NPU_FW_KEY_CERT_DEF { \ 16*f3096072SMohamed Elzahhar .id = ETHOSN_NPU_FW_KEY_CERT, \ 17*f3096072SMohamed Elzahhar .opt = "npu-fw-key-cert", \ 18*f3096072SMohamed Elzahhar .help_msg = "Arm(R) Ethos(TM)-N NPU Firmware Key Certificate (output file)", \ 19*f3096072SMohamed Elzahhar .fn = NULL, \ 20*f3096072SMohamed Elzahhar .cn = "NPU Firmware Key Certificate", \ 21*f3096072SMohamed Elzahhar .key = NON_TRUSTED_WORLD_KEY, \ 22*f3096072SMohamed Elzahhar .issuer = ETHOSN_NPU_FW_KEY_CERT, \ 23*f3096072SMohamed Elzahhar .ext = { \ 24*f3096072SMohamed Elzahhar NON_TRUSTED_FW_NVCOUNTER_EXT, \ 25*f3096072SMohamed Elzahhar ETHOSN_NPU_FW_CONTENT_CERT_PK_EXT, \ 26*f3096072SMohamed Elzahhar }, \ 27*f3096072SMohamed Elzahhar .num_ext = 2 \ 28*f3096072SMohamed Elzahhar } 29*f3096072SMohamed Elzahhar 30*f3096072SMohamed Elzahhar #define ETHOSN_NPU_FW_CONTENT_CERT_DEF { \ 31*f3096072SMohamed Elzahhar .id = ETHOSN_NPU_FW_CONTENT_CERT, \ 32*f3096072SMohamed Elzahhar .opt = "npu-fw-cert", \ 33*f3096072SMohamed Elzahhar .help_msg = "Arm(R) Ethos(TM)-N NPU Firmware Content Certificate (output file)",\ 34*f3096072SMohamed Elzahhar .fn = NULL, \ 35*f3096072SMohamed Elzahhar .cn = "NPU Firmware Content Certificate", \ 36*f3096072SMohamed Elzahhar .key = ETHOSN_NPU_FW_CONTENT_CERT_KEY, \ 37*f3096072SMohamed Elzahhar .issuer = ETHOSN_NPU_FW_CONTENT_CERT, \ 38*f3096072SMohamed Elzahhar .ext = { \ 39*f3096072SMohamed Elzahhar NON_TRUSTED_FW_NVCOUNTER_EXT, \ 40*f3096072SMohamed Elzahhar ETHOSN_NPU_FW_HASH_EXT, \ 41*f3096072SMohamed Elzahhar }, \ 42*f3096072SMohamed Elzahhar .num_ext = 2 \ 43*f3096072SMohamed Elzahhar } 44*f3096072SMohamed Elzahhar 45*f3096072SMohamed Elzahhar /* NPU Extensions */ 46*f3096072SMohamed Elzahhar #define ETHOSN_NPU_FW_CONTENT_CERT_PK_EXT_DEF { \ 47*f3096072SMohamed Elzahhar .oid = ETHOSN_NPU_FW_CONTENT_CERT_PK_OID, \ 48*f3096072SMohamed Elzahhar .help_msg = "Arm(R) Ethos(TM)-N NPU Firmware content certificate public key", \ 49*f3096072SMohamed Elzahhar .sn = "NPUFirmwareContentCertPK", \ 50*f3096072SMohamed Elzahhar .ln = "NPU Firmware content cerificate public key", \ 51*f3096072SMohamed Elzahhar .asn1_type = V_ASN1_OCTET_STRING, \ 52*f3096072SMohamed Elzahhar .type = EXT_TYPE_PKEY, \ 53*f3096072SMohamed Elzahhar .attr.key = ETHOSN_NPU_FW_CONTENT_CERT_KEY \ 54*f3096072SMohamed Elzahhar } 55*f3096072SMohamed Elzahhar 56*f3096072SMohamed Elzahhar #define ETHOSN_NPU_FW_HASH_EXT_DEF { \ 57*f3096072SMohamed Elzahhar .oid = ETHOSN_NPU_FW_BINARY_OID, \ 58*f3096072SMohamed Elzahhar .opt = "npu-fw", \ 59*f3096072SMohamed Elzahhar .help_msg = "Arm(R) Ethos(TM)-N NPU Firmware image file (input file)", \ 60*f3096072SMohamed Elzahhar .sn = "NPUFirmwareHash", \ 61*f3096072SMohamed Elzahhar .ln = "NPU Firmware Hash (SHA256)", \ 62*f3096072SMohamed Elzahhar .asn1_type = V_ASN1_OCTET_STRING, \ 63*f3096072SMohamed Elzahhar .type = EXT_TYPE_HASH \ 64*f3096072SMohamed Elzahhar } 65*f3096072SMohamed Elzahhar 66*f3096072SMohamed Elzahhar /* NPU Keys */ 67*f3096072SMohamed Elzahhar #define ETHOSN_NPU_FW_CONTENT_CERT_KEY_DEF { \ 68*f3096072SMohamed Elzahhar .id = ETHOSN_NPU_FW_CONTENT_CERT_KEY, \ 69*f3096072SMohamed Elzahhar .opt = "npu-fw-key", \ 70*f3096072SMohamed Elzahhar .help_msg = "Arm(R) Ethos(TM)-N NPU Firmware Content Certificate key (input/output file)",\ 71*f3096072SMohamed Elzahhar .desc = "NPU Firmware Content Certificate key" \ 72*f3096072SMohamed Elzahhar } 73*f3096072SMohamed Elzahhar 74*f3096072SMohamed Elzahhar #endif /* ETHOSN_CERT_H */ 75