blob: efd8b7f547132b00a3b8c5e224c9e703e7490437 [file] [log] [blame]
/****************************************************************************
*
* (C)Copyright 2015 Marvell. All Rights Reserved.
*
* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF MARVELL.
* The copyright notice above does not evidence any actual or intended
* publication of such source code. This Module contains Proprietary
* Information of Marvell and should be treated as Confidential. The
* information in this file is provided for the exclusive use of the
* licensees of Marvell. Such users have the right to use, modify, and
* incorporate this code into products for purposes authorized by the
* license agreement provided they include this notice and the associated
* copyright notice with any such product.
*
* The information in this file is provided "AS IS" without warranty.
*
***************************************************************************/
#include "Provisioning.h"
#if BL_USE_GEU_FUSE_PROG
#include "GEU_Provisioning.h"
#endif
#if BL_USE_WTM_FUSE_PROG
#include "WTM3_MBOX_Interface.h"
#endif
// Generic pointers to provisioning functions dynamically bound based on underlying security architecture.
static PROVISIONING_FUNCTIONS PFs;
static fuse_burn_flags_t FuseBurnFlags;
pPROVISIONING_FUNCTIONS GetFuseBurningFunctionsPointer()
{
return &PFs;
}
pfuse_burn_flags_t GetFuseBurnFlags()
{
return &FuseBurnFlags;
}
void ProvisioningInitialization()
{
#if BL_USE_GEU_FUSE_PROG
PFs.pBindPlatform = &GEU_LIB_BindPlatform;
PFs.pVerifyPlatform = &GEU_LIB_VerifyPlatform;
#ifdef NZAS
PFs.pBindJTAGKey = NULL;
PFs.pVerifyJTAGKey = NULL;
#else
PFs.pBindJTAGKey = &GEU_LIB_BindJTAGKey;
PFs.pVerifyJTAGKey = &GEU_LIB_VerifyJTAGKey;
#endif
PFs.pAutoConfigPlatform = &GEU_LIB_AutoConfigPlatform;
#endif
}