1 /* 2 * Copyright 2024 NXP 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #include "fsl_romapi_iap.h" 8 #include "fsl_romapi.h" 9 10 #define IAP_API_TREE ((iap_api_interface_t *)(((uint32_t *)ROM_API_TREE_ADDR)[13])) 11 iap_api_version(void)12uint32_t iap_api_version(void) 13 { 14 assert(IAP_API_TREE); 15 return IAP_API_TREE->version.version; 16 } 17 iap_api_init(api_core_context_t * coreCtx,const kp_api_init_param_t * param)18status_t iap_api_init(api_core_context_t *coreCtx, const kp_api_init_param_t *param) 19 { 20 assert(IAP_API_TREE); 21 return IAP_API_TREE->api_init(coreCtx, param); 22 } 23 iap_api_deinit(api_core_context_t * coreCtx)24status_t iap_api_deinit(api_core_context_t *coreCtx) 25 { 26 assert(IAP_API_TREE); 27 return IAP_API_TREE->api_deinit(coreCtx); 28 } 29 iap_sbloader_init(api_core_context_t * ctx)30status_t iap_sbloader_init(api_core_context_t *ctx) 31 { 32 assert(IAP_API_TREE); 33 return IAP_API_TREE->sbloader_init(ctx); 34 } 35 iap_sbloader_pump(api_core_context_t * ctx,uint8_t * data,uint32_t length)36status_t iap_sbloader_pump(api_core_context_t *ctx, uint8_t *data, uint32_t length) 37 { 38 assert(IAP_API_TREE); 39 return IAP_API_TREE->sbloader_pump(ctx, data, length); 40 } 41 iap_sbloader_finalize(api_core_context_t * ctx)42status_t iap_sbloader_finalize(api_core_context_t *ctx) 43 { 44 assert(IAP_API_TREE); 45 return IAP_API_TREE->sbloader_finalize(ctx); 46 } 47