blob: e4c9ef928a903d6df85b3e6028e9bad3bdba4afc [file] [log] [blame]
/**
* @file ax_api.h
* @author NXP Semiconductors
* @version 1.0
* @par License
*
* Copyright 2016,2020 NXP
* SPDX-License-Identifier: Apache-2.0
*
* @par Description
* This file is the communication specific Host API of the A70CM/CI and A71CH secure module.
* It also customizes the Generic Ax library for this specific product instance
* @par History
* 1.0 27-march-2014 : Initial version
* 7-may-2017 : Unified version for A70CM, CI and A71CH
*
*****************************************************************************/
#ifndef _AX_API_
#define _AX_API_
#if defined(SSS_USE_FTR_FILE)
#include "fsl_sss_ftr.h"
#else
#include "fsl_sss_ftr_default.h"
#endif
#include "sm_types.h"
#include "ax_common.h"
#if (SSS_HAVE_A71CH || SSS_HAVE_A71CH_SIM)
#include "a71ch_api.h"
#include "ax_scp.h"
#elif (SSS_HAVE_A71CL || SSS_HAVE_SE050_L)
#include "a71cl_api.h"
#include "ax_scp.h"
#elif defined TGT_A70CI
#include "a70ci_api.h"
#elif defined TGT_A70CM
#include "a70cm_api.h"
#elif defined TGT_NONE
#include "ax_common_a71ch.h"
#include "a71ch_api.h"
/* Nothing specific to do */
#elif SSS_HAVE_APPLET_SE05X_IOT
#if AX_EMBEDDED
#include "ax_scp.h"
#endif
#include "a71ch_api.h"
#include "ax_common_a71ch.h"
#elif (SSS_HAVE_MBEDTLS || SSS_HAVE_OPENSSL || SSS_HAVE_HOSCRYPTO_USER)
/* Nothing specific to do */
#else
#error "Define TGT_X (the secure module target, either TGT_A71CH, TGT_A70CI or TGT_A70CM) as a preprocessor constant"
#endif
#include <sm_api.h>
#ifdef __cplusplus
extern "C" {
#endif
/// @cond Dummy definition
typedef enum SST_Item
{
SST_DUMMY = 0xFFFF
} SST_Item_t;
/// @endcond
#if (SSS_HAVE_A71CH || SSS_HAVE_A71CL || SSS_HAVE_A71CH_SIM || SSS_HAVE_SE050_L)
U16 SM_ResumeConnection(SmCommState_t *commState, Scp03SessionState_t *scp03State);
#endif
#if defined(TGT_A71CH)
#if defined(IPC)
U16 SM_LockChannel(void);
U16 SM_UnlockChannel(void);
#define SM_LOCK_CHANNEL() SM_LockChannel()
#define SM_UNLOCK_CHANNEL() SM_UnlockChannel()
#else
#define SM_LOCK_CHANNEL()
#define SM_UNLOCK_CHANNEL()
#endif // TGT_A71CH
#endif // IPC
#ifdef __cplusplus
}
#endif
#endif //_AX_API_