blob: e10a3066660d208ae92acb275b819002a21f14c4 [file] [log] [blame]
/*
* Copyright (c) 2019-2022, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
*/
#include "cmsis.h"
#include "device_definition.h"
#include "systimer_armv8-m_drv.h"
#include "tfm_plat_test.h"
/* Interrupt interval is set to 1 ms */
#define TIMER_RELOAD_VALUE (SYSTIMER0_ARMV8M_DEFAULT_FREQ_HZ / 1000)
void tfm_plat_test_secure_timer_start(void)
{
systimer_armv8_m_init(&SYSTIMER0_ARMV8_M_DEV_S);
systimer_armv8_m_set_autoinc_reload(&SYSTIMER0_ARMV8_M_DEV_S, TIMER_RELOAD_VALUE);
systimer_armv8_m_enable_autoinc(&SYSTIMER0_ARMV8_M_DEV_S);
systimer_armv8_m_enable_interrupt(&SYSTIMER0_ARMV8_M_DEV_S);
}
void tfm_plat_test_secure_timer_clear_intr(void)
{
systimer_armv8_m_clear_autoinc_interrupt(&SYSTIMER0_ARMV8_M_DEV_S);
}
void tfm_plat_test_secure_timer_stop(void)
{
systimer_armv8_m_uninit(&SYSTIMER0_ARMV8_M_DEV_S);
systimer_armv8_m_clear_autoinc_interrupt(&SYSTIMER0_ARMV8_M_DEV_S);
}