blob: 5ee033679d9539b3f66a572f2afce2b5390f315a [file] [log] [blame]
/*
*
* Copyright 2019 NXP
* SPDX-License-Identifier: Apache-2.0
*/
/* Common header fils used by Freedom K64F */
#ifndef HAVE_KSDK
#error "HAVE_KSDK must be defined"
#endif
/* Expsosed variables */
#define HAVE_KSDK_LED_APIS 1
#include "ax_reset.h"
#include "board.h"
#include "fsl_gpio.h"
#include "pin_mux.h"
#include "se_reset_config.h"
#include "sm_timer.h"
#include "fsl_puf.h"
#include "fsl_power.h"
#if defined(MBEDTLS)
#include "ksdk_mbedtls.h"
#endif
void ex_sss_main_ksdk_bm()
{
/* set BOD VBAT level to 1.65V */
POWER_SetBodVbatLevel(kPOWER_BodVbatLevel1650mv, kPOWER_BodHystLevel50mv, false);
CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
/* attach 12 MHz clock to FLEXCOMM8 (I2C master) */
CLOCK_AttachClk(kFRO12M_to_FLEXCOMM4);
/* reset FLEXCOMM for I2C */
RESET_PeripheralReset(kFC4_RST_SHIFT_RSTn);
BOARD_InitPins();
BOARD_BootClockFROHF96M();
BOARD_InitDebugConsole();
LED_BLUE_INIT(1);
LED_GREEN_INIT(1);
LED_RED_INIT(1);
LED_BLUE_ON();
axReset_HostConfigure();
axReset_PowerUp();
#if defined(MBEDTLS)
CRYPTO_InitHardware();
#if defined(FSL_FEATURE_SOC_SHA_COUNT) && (FSL_FEATURE_SOC_SHA_COUNT > 0)
CLOCK_EnableClock(kCLOCK_Sha0);
RESET_PeripheralReset(kSHA_RST_SHIFT_RSTn);
#endif /* SHA */
#endif /* defined(MBEDTLS) */
sm_initSleep();
#if defined(SECURE_WORLD)
puf_config_t conf;
PUF_GetDefaultConfig(&conf);
srand(0xbabadeda);
if (kStatus_Success != PUF_Init(PUF, &conf)) {
LOG_E("PUF_Init failed");
}
#endif
}
void ex_sss_main_ksdk_boot_rtos_task()
{
}
void ex_sss_main_ksdk_success()
{
LED_BLUE_OFF();
LED_RED_OFF();
LED_GREEN_ON();
}
void ex_sss_main_ksdk_failure()
{
LED_BLUE_OFF();
LED_RED_ON();
LED_GREEN_OFF();
}