MCUXpresso_LPC55S69/devices/LPC55S69/drivers/fsl_iap_skboot_authenticate.h

78 lines
2.5 KiB
C

/*
* Copyright 2020 NXP
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
*/
#ifndef FSL_IAP_SKBOOT_AUTHENTICATE_H_
#define FSL_IAP_SKBOOT_AUTHENTICATE_H_
#include "fsl_common.h"
/*!
* @addtogroup skboot_authenticate
* @{
*/
/*******************************************************************************
* Definitions
*******************************************************************************/
/*! @brief SKBOOT return status*/
typedef enum _skboot_status
{
kStatus_SKBOOT_Success = 0x5ac3c35au, /*!< SKBOOT return success status.*/
kStatus_SKBOOT_Fail = 0xc35ac35au, /*!< SKBOOT return fail status.*/
kStatus_SKBOOT_InvalidArgument = 0xc35a5ac3u, /*!< SKBOOT return invalid argument status.*/
kStatus_SKBOOT_KeyStoreMarkerInvalid = 0xc3c35a5au, /*!< SKBOOT return Keystore invalid Marker status.*/
kStatus_SKBOOT_HashcryptFinishedWithStatusSuccess =
0xc15a5ac3, /*!< SKBOOT return Hashcrypt finished with the success status.*/
kStatus_SKBOOT_HashcryptFinishedWithStatusFail =
0xc15a5acb, /*!< SKBOOT return Hashcrypt finished with the fail status.*/
} skboot_status_t;
/*! @brief Secure bool flag*/
typedef enum _secure_bool
{
kSECURE_TRUE = 0xc33cc33cU, /*!< Secure true flag.*/
kSECURE_FALSE = 0x5aa55aa5U, /*!< Secure false flag.*/
kSECURE_CALLPROTECT_SECURITY_FLAGS = 0xc33c5aa5U, /*!< Secure call protect the security flag.*/
kSECURE_CALLPROTECT_IS_APP_READY = 0x5aa5c33cU, /*!< Secure call protect the app is ready flag.*/
kSECURE_TRACKER_VERIFIED = 0x55aacc33U, /*!< Secure tracker verified flag.*/
} secure_bool_t;
/*******************************************************************************
* Externs
******************************************************************************/
/*******************************************************************************
* API
******************************************************************************/
#if defined(__cplusplus)
extern "C" {
#endif
/*!
* @brief Authenticate entry function with ARENA allocator init
*
* This is called by ROM boot or by ROM API g_skbootAuthenticateInterface
*/
skboot_status_t skboot_authenticate(const uint8_t *imageStartAddr, secure_bool_t *isSignVerified);
/*!
* @brief Interface for image authentication API
*/
void HASH_IRQHandler(void);
#if defined(__cplusplus)
}
#endif
/*!
*@}
*/
#endif /* FSL_IAP_SKBOOT_AUTHENTICATE_H_ */