1 /*
2 * Copyright 2024 NXP
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7 #include "fsl_romapi_nboot.h"
8 #include "fsl_romapi.h"
9
10 #define NBOOT_API_TREE ((nboot_interface_t *)(((uint32_t *)ROM_API_TREE_ADDR)[10]))
11
NBOOT_ContextInit(nboot_context_t * context)12 nboot_status_t NBOOT_ContextInit(nboot_context_t *context)
13 {
14 assert(NBOOT_API_TREE);
15 return NBOOT_API_TREE->nboot_context_init(context);
16 }
17
NBOOT_ContextDeinit(nboot_context_t * context)18 nboot_status_t NBOOT_ContextDeinit(nboot_context_t *context)
19 {
20 assert(NBOOT_API_TREE);
21 return NBOOT_API_TREE->nboot_context_deinit(context);
22 }
23
NBOOT_Sb3LoadManifest(nboot_context_t * context,uint32_t * manifest,nboot_sb3_load_manifest_parms_t * parms)24 nboot_status_protected_t NBOOT_Sb3LoadManifest(nboot_context_t *context,
25 uint32_t *manifest,
26 nboot_sb3_load_manifest_parms_t *parms)
27 {
28 assert(NBOOT_API_TREE);
29 return NBOOT_API_TREE->nboot_sb3_load_manifest(context, manifest, parms);
30 }
31
NBOOT_Sb3LoadBlock(nboot_context_t * context,uint32_t * block)32 nboot_status_protected_t NBOOT_Sb3LoadBlock(nboot_context_t *context, uint32_t *block)
33 {
34 assert(NBOOT_API_TREE);
35 return NBOOT_API_TREE->nboot_sb3_load_block(context, block);
36 }
37
NBOOT_Sb3CheckAuthenticityAndCompleteness(nboot_context_t * context,uint32_t * address,nboot_sb3_load_manifest_parms_t * parms)38 nboot_status_protected_t NBOOT_Sb3CheckAuthenticityAndCompleteness(nboot_context_t *context,
39 uint32_t *address,
40 nboot_sb3_load_manifest_parms_t *parms)
41 {
42 assert(NBOOT_API_TREE);
43 return NBOOT_API_TREE->nboot_sb3_check_authenticity_and_completeness(context, address, parms);
44 }
45
NBOOT_ImgAuthenticateEcdsa(nboot_context_t * context,uint8_t imageStartAddress[],nboot_bool_t * isSignatureVerified,nboot_img_auth_ecdsa_parms_t * parms)46 nboot_status_protected_t NBOOT_ImgAuthenticateEcdsa(nboot_context_t *context,
47 uint8_t imageStartAddress[],
48 nboot_bool_t *isSignatureVerified,
49 nboot_img_auth_ecdsa_parms_t *parms)
50 {
51 assert(NBOOT_API_TREE);
52 return NBOOT_API_TREE->nboot_img_authenticate_ecdsa(context, imageStartAddress, isSignatureVerified, parms);
53 }
54
NBOOT_ImgAuthenticateCmac(nboot_context_t * context,uint8_t imageStartAddress[],nboot_bool_t * isSignatureVerified,nboot_img_authenticate_cmac_parms_t * parms)55 nboot_status_protected_t NBOOT_ImgAuthenticateCmac(nboot_context_t *context,
56 uint8_t imageStartAddress[],
57 nboot_bool_t *isSignatureVerified,
58 nboot_img_authenticate_cmac_parms_t *parms)
59 {
60 assert(NBOOT_API_TREE);
61 return NBOOT_API_TREE->nboot_img_authenticate_cmac(context, imageStartAddress, isSignatureVerified, parms);
62 }
63